package com.kgc.springboot.aviation.pojo;

import java.util.ArrayList;
import java.util.List;

public class UserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("user_name is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("user_name =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("user_name <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("user_name >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_name >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("user_name <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("user_name <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("user_name like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("user_name not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("user_name in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("user_name not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("user_name between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("user_name not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserUnameIsNull() {
            addCriterion("user_uname is null");
            return (Criteria) this;
        }

        public Criteria andUserUnameIsNotNull() {
            addCriterion("user_uname is not null");
            return (Criteria) this;
        }

        public Criteria andUserUnameEqualTo(String value) {
            addCriterion("user_uname =", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameNotEqualTo(String value) {
            addCriterion("user_uname <>", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameGreaterThan(String value) {
            addCriterion("user_uname >", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameGreaterThanOrEqualTo(String value) {
            addCriterion("user_uname >=", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameLessThan(String value) {
            addCriterion("user_uname <", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameLessThanOrEqualTo(String value) {
            addCriterion("user_uname <=", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameLike(String value) {
            addCriterion("user_uname like", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameNotLike(String value) {
            addCriterion("user_uname not like", value, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameIn(List<String> values) {
            addCriterion("user_uname in", values, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameNotIn(List<String> values) {
            addCriterion("user_uname not in", values, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameBetween(String value1, String value2) {
            addCriterion("user_uname between", value1, value2, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserUnameNotBetween(String value1, String value2) {
            addCriterion("user_uname not between", value1, value2, "userUname");
            return (Criteria) this;
        }

        public Criteria andUserPasswordIsNull() {
            addCriterion("user_password is null");
            return (Criteria) this;
        }

        public Criteria andUserPasswordIsNotNull() {
            addCriterion("user_password is not null");
            return (Criteria) this;
        }

        public Criteria andUserPasswordEqualTo(String value) {
            addCriterion("user_password =", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotEqualTo(String value) {
            addCriterion("user_password <>", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordGreaterThan(String value) {
            addCriterion("user_password >", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("user_password >=", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordLessThan(String value) {
            addCriterion("user_password <", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordLessThanOrEqualTo(String value) {
            addCriterion("user_password <=", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordLike(String value) {
            addCriterion("user_password like", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotLike(String value) {
            addCriterion("user_password not like", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordIn(List<String> values) {
            addCriterion("user_password in", values, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotIn(List<String> values) {
            addCriterion("user_password not in", values, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordBetween(String value1, String value2) {
            addCriterion("user_password between", value1, value2, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotBetween(String value1, String value2) {
            addCriterion("user_password not between", value1, value2, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNull() {
            addCriterion("user_phone is null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNotNull() {
            addCriterion("user_phone is not null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneEqualTo(String value) {
            addCriterion("user_phone =", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotEqualTo(String value) {
            addCriterion("user_phone <>", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThan(String value) {
            addCriterion("user_phone >", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("user_phone >=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThan(String value) {
            addCriterion("user_phone <", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThanOrEqualTo(String value) {
            addCriterion("user_phone <=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLike(String value) {
            addCriterion("user_phone like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotLike(String value) {
            addCriterion("user_phone not like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIn(List<String> values) {
            addCriterion("user_phone in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotIn(List<String> values) {
            addCriterion("user_phone not in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneBetween(String value1, String value2) {
            addCriterion("user_phone between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotBetween(String value1, String value2) {
            addCriterion("user_phone not between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserCompanyIsNull() {
            addCriterion("user_company is null");
            return (Criteria) this;
        }

        public Criteria andUserCompanyIsNotNull() {
            addCriterion("user_company is not null");
            return (Criteria) this;
        }

        public Criteria andUserCompanyEqualTo(String value) {
            addCriterion("user_company =", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyNotEqualTo(String value) {
            addCriterion("user_company <>", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyGreaterThan(String value) {
            addCriterion("user_company >", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyGreaterThanOrEqualTo(String value) {
            addCriterion("user_company >=", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyLessThan(String value) {
            addCriterion("user_company <", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyLessThanOrEqualTo(String value) {
            addCriterion("user_company <=", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyLike(String value) {
            addCriterion("user_company like", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyNotLike(String value) {
            addCriterion("user_company not like", value, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyIn(List<String> values) {
            addCriterion("user_company in", values, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyNotIn(List<String> values) {
            addCriterion("user_company not in", values, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyBetween(String value1, String value2) {
            addCriterion("user_company between", value1, value2, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserCompanyNotBetween(String value1, String value2) {
            addCriterion("user_company not between", value1, value2, "userCompany");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentIsNull() {
            addCriterion("user_department is null");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentIsNotNull() {
            addCriterion("user_department is not null");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentEqualTo(String value) {
            addCriterion("user_department =", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentNotEqualTo(String value) {
            addCriterion("user_department <>", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentGreaterThan(String value) {
            addCriterion("user_department >", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("user_department >=", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentLessThan(String value) {
            addCriterion("user_department <", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentLessThanOrEqualTo(String value) {
            addCriterion("user_department <=", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentLike(String value) {
            addCriterion("user_department like", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentNotLike(String value) {
            addCriterion("user_department not like", value, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentIn(List<String> values) {
            addCriterion("user_department in", values, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentNotIn(List<String> values) {
            addCriterion("user_department not in", values, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentBetween(String value1, String value2) {
            addCriterion("user_department between", value1, value2, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserDepartmentNotBetween(String value1, String value2) {
            addCriterion("user_department not between", value1, value2, "userDepartment");
            return (Criteria) this;
        }

        public Criteria andUserIpIsNull() {
            addCriterion("user_ip is null");
            return (Criteria) this;
        }

        public Criteria andUserIpIsNotNull() {
            addCriterion("user_ip is not null");
            return (Criteria) this;
        }

        public Criteria andUserIpEqualTo(String value) {
            addCriterion("user_ip =", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotEqualTo(String value) {
            addCriterion("user_ip <>", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpGreaterThan(String value) {
            addCriterion("user_ip >", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpGreaterThanOrEqualTo(String value) {
            addCriterion("user_ip >=", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpLessThan(String value) {
            addCriterion("user_ip <", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpLessThanOrEqualTo(String value) {
            addCriterion("user_ip <=", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpLike(String value) {
            addCriterion("user_ip like", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotLike(String value) {
            addCriterion("user_ip not like", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpIn(List<String> values) {
            addCriterion("user_ip in", values, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotIn(List<String> values) {
            addCriterion("user_ip not in", values, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpBetween(String value1, String value2) {
            addCriterion("user_ip between", value1, value2, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotBetween(String value1, String value2) {
            addCriterion("user_ip not between", value1, value2, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserLoginIsNull() {
            addCriterion("user_login is null");
            return (Criteria) this;
        }

        public Criteria andUserLoginIsNotNull() {
            addCriterion("user_login is not null");
            return (Criteria) this;
        }

        public Criteria andUserLoginEqualTo(String value) {
            addCriterion("user_login =", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginNotEqualTo(String value) {
            addCriterion("user_login <>", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginGreaterThan(String value) {
            addCriterion("user_login >", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginGreaterThanOrEqualTo(String value) {
            addCriterion("user_login >=", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginLessThan(String value) {
            addCriterion("user_login <", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginLessThanOrEqualTo(String value) {
            addCriterion("user_login <=", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginLike(String value) {
            addCriterion("user_login like", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginNotLike(String value) {
            addCriterion("user_login not like", value, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginIn(List<String> values) {
            addCriterion("user_login in", values, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginNotIn(List<String> values) {
            addCriterion("user_login not in", values, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginBetween(String value1, String value2) {
            addCriterion("user_login between", value1, value2, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserLoginNotBetween(String value1, String value2) {
            addCriterion("user_login not between", value1, value2, "userLogin");
            return (Criteria) this;
        }

        public Criteria andUserNoteIsNull() {
            addCriterion("user_note is null");
            return (Criteria) this;
        }

        public Criteria andUserNoteIsNotNull() {
            addCriterion("user_note is not null");
            return (Criteria) this;
        }

        public Criteria andUserNoteEqualTo(String value) {
            addCriterion("user_note =", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteNotEqualTo(String value) {
            addCriterion("user_note <>", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteGreaterThan(String value) {
            addCriterion("user_note >", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteGreaterThanOrEqualTo(String value) {
            addCriterion("user_note >=", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteLessThan(String value) {
            addCriterion("user_note <", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteLessThanOrEqualTo(String value) {
            addCriterion("user_note <=", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteLike(String value) {
            addCriterion("user_note like", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteNotLike(String value) {
            addCriterion("user_note not like", value, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteIn(List<String> values) {
            addCriterion("user_note in", values, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteNotIn(List<String> values) {
            addCriterion("user_note not in", values, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteBetween(String value1, String value2) {
            addCriterion("user_note between", value1, value2, "userNote");
            return (Criteria) this;
        }

        public Criteria andUserNoteNotBetween(String value1, String value2) {
            addCriterion("user_note not between", value1, value2, "userNote");
            return (Criteria) this;
        }

        public Criteria andManagementIsNull() {
            addCriterion("management is null");
            return (Criteria) this;
        }

        public Criteria andManagementIsNotNull() {
            addCriterion("management is not null");
            return (Criteria) this;
        }

        public Criteria andManagementEqualTo(Integer value) {
            addCriterion("management =", value, "management");
            return (Criteria) this;
        }

        public Criteria andManagementNotEqualTo(Integer value) {
            addCriterion("management <>", value, "management");
            return (Criteria) this;
        }

        public Criteria andManagementGreaterThan(Integer value) {
            addCriterion("management >", value, "management");
            return (Criteria) this;
        }

        public Criteria andManagementGreaterThanOrEqualTo(Integer value) {
            addCriterion("management >=", value, "management");
            return (Criteria) this;
        }

        public Criteria andManagementLessThan(Integer value) {
            addCriterion("management <", value, "management");
            return (Criteria) this;
        }

        public Criteria andManagementLessThanOrEqualTo(Integer value) {
            addCriterion("management <=", value, "management");
            return (Criteria) this;
        }

        public Criteria andManagementIn(List<Integer> values) {
            addCriterion("management in", values, "management");
            return (Criteria) this;
        }

        public Criteria andManagementNotIn(List<Integer> values) {
            addCriterion("management not in", values, "management");
            return (Criteria) this;
        }

        public Criteria andManagementBetween(Integer value1, Integer value2) {
            addCriterion("management between", value1, value2, "management");
            return (Criteria) this;
        }

        public Criteria andManagementNotBetween(Integer value1, Integer value2) {
            addCriterion("management not between", value1, value2, "management");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}